package com.cloudwise.controller;

import com.cloudwise.service.PersonService;
import com.cloudwise.service.impl.PersonServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

/**
 * @author ：Teacher陈（86521760@qq.com）
 * @date ：Created in 2023/2/16 14:32
 * @description：修改人员信息
 * @modified By：
 * @version:
 */
@WebServlet(name="UpdatePersonController",value = "/updatePerson")
public class UpdatePersonController extends HttpServlet {
    PersonService personService = new PersonServiceImpl();
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       req.setCharacterEncoding("utf-8");
       resp.setCharacterEncoding("utf-8");
        //定义一个map集合封装所有的参数和参数值
        Map<String,Object> map= new HashMap();
        Enumeration<String> parameterNames = req.getParameterNames();
       while (parameterNames.hasMoreElements()){
           String key=parameterNames.nextElement();
           Object value=req.getParameter(key);
           map.put(key,value);
       }

        //3、后端controller接受提交的人员信息，并保存到数据库中。
        boolean updatePerson = personService.updatePerson(map);
        //4、根据添加数据的窗台判断是否保存成功，如果成功进入到显示所有人员页面，失败则进入失败页面。
        if(updatePerson){
            //2、添加成功之后，重新查询数据并刷新页面。
            String contextPath = req.getContextPath();
            resp.sendRedirect(contextPath+"/person");
        }else{
            //3、添加失败，去失败页面。
            resp.sendRedirect("error.jsp");
        }
    }
}
